home *** CD-ROM | disk | FTP | other *** search
- Following is a list of visible changes to calc from version 1.27.0 to 2.9.0:
-
- Full prototypes have been provided for all C functions, and are used
- if calc is compiled with an ANSI compiler.
-
- Newly defined variables are now initialized to the value of zero instead
- of to the null value. The elements of new objects are also initialized
- to the value of zero instead of null.
-
- The gcd, lcm, and ismult functions now work for fractional values.
-
- A major bug in the // division for fractions with a negative divisor
- was fixed.
-
- A major bug in the calculation of ln for small values was fixed.
-
- A major bug in the calculation of the ln and power functions for complex
- numbers was fixed.
-
- A major lack of precision for sin and tan for small values was fixed.
-
- A major lack of precision for complex square roots was fixed.
-
- The "static" keyword has been implemented for variables. So permanent
- variables can be defined to have either file scope or function scope.
-
- Initialization of variables during their declaration are now allowed.
- This is most convenient for the initialization of static variables.
-
- The matrix definition statement can now be used within a declaration
- statement, to immediately define a variable as a matrix.
-
- Initializations of the elements of matrices are now allowed. One-
- dimensional matrices may have implicit bounds when initialization is
- used.
-
- The obj definition statement can now be used within a declaration
- statement, to immediately define a variable as an object.
-
- Object definitions can be repeated as long as they are exactly the same
- as the previous definition. This allows the rereading of files which
- happen to define objects.
-
- The integer, rational, and complex routines have been made into a
- 'libcalc.a' library so that they can be used in other programs besides
- the calculator. The "math.h" include file has been split into three
- include files: "zmath.h", "qmath.h", and "cmath.h".
-
- Following is a list of visible changes to calc from version 1.26.4 to 1.27.0:
-
- Added an assoc function to return a new type of value called an
- association. Such values are indexed by one or more arbitrary values.
- They are stored in a hash table for quick access.
-
- Added a hash() function which accepts one or more values and returns
- a quickly calculated small non-negative hash value for those values.
-
- Following is a list of visible changes to calc from version 1.26.2 to 1.26.4:
-
- Misc fixes to Makefiles.
-
- Misc lint fixes.
-
- Misc portability fixes.
-
- Misc typo and working fixes to comments, help files and the man page.
-
- Following is a list of visible changes to calc from version 1.24.7 to 1.26.2:
-
- There is a new emacs-like command line editing and edit history
- feature. The old history mechanism has been removed. The key
- bindings for the new editing commands are slightly configurable
- since they are read in from an initialization file. This file is
- usually called /usr/lib/calc/bindings, but can be changed by the
- CALCBINDINGS environment variable. All editing code is
- self-contained in the new files hist.c and hist.h, which can be
- easily extracted and used in other programs.
-
- Two new library files have been added: chrem.cal and cryrand.cal.
- The first of these solves the chinese remainder problem for a set
- of modulos and remainders. The second of these implements several
- very good random number generators for large numbers.
-
- A small bug which allowed division by zero was fixed.
-
- A major bug in the mattrans function was fixed.
-
- A major bug in the acos function for negative arguments was fixed.
-
- A major bug in the strprintf function when objects were being printed
- was fixed.
-
- A small bug in the library file regress.cal was fixed.
-